﻿using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using Business;
using Model;

namespace Gui.Web.Forms
{
    public partial class IngresoVentas : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Page.IsPostBack) return;

            var fecha = new FechaBusiness();
            Meses.DataSource = fecha.ObtenerMeses().Meses;
            Meses.DataBind();
            Meses.SelectedIndex = DateTime.Now.Month - 1;

            Anios.DataSource = fecha.ObtenerAnios().Anios;
            Anios.DataBind();
            Anios.SelectedValue = DateTime.Now.Year.ToString();

            CargarDatos();
        }

        protected void Cancelar_Click(object sender, EventArgs args)
        {
            Response.Redirect("~/Default.aspx");
        }

        protected void Guardar_Click(object sender, EventArgs args)
        {
            foreach (GridViewRow filaGrid in DatosColaborador.Rows)
            {
                var dataKey = DatosColaborador.DataKeys[filaGrid.RowIndex];
                if (dataKey == null) continue;

                var idColaborador = int.Parse(dataKey.Value.ToString());
                var ventas = new VentasBusiness();
                ventas.InsertarActualizarVentas(
                    new Ventas
                    {
                        IdColaborador = idColaborador,
                        Anio = Convert.ToInt32(Anios.SelectedItem.Value),
                        IdMes = Convert.ToInt32(Meses.SelectedItem.Value),
                        VentasContado = Convert.ToDouble(((TextBox)filaGrid.FindControl("TextoContado")).Text),
                        VentasCredito = Convert.ToDouble(((TextBox)filaGrid.FindControl("TextoCredito")).Text),
                    });
            }
        }

        protected void Meses_SelectedIndexChanged(object sender, EventArgs e)
        {
            CargarDatos();
        }

        private void CargarDatos()
        {
            var idMes = Convert.ToInt32(Meses.SelectedItem.Value);
            var anio = Convert.ToInt32(Anios.SelectedItem.Value);

            var ventas = new VentasBusiness();
            DatosColaborador.DataSource = ventas.ObtenerVentas(anio, idMes).DatosVentas;
            DatosColaborador.DataBind();
        }

        protected void Anios_SelectedIndexChanged(object sender, EventArgs e)
        {
            CargarDatos();
        }
    }
}